package com.yunxin.core.application.dto.channel;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author zero°
 * @since 2023-06-12
 */
@Data
@Schema(description = "获取渠道推广信息对象")
public class ChannelPromotionInfoDTO implements Serializable {

    /**
     * 渠道推广名称
     */
    @Schema(description = "渠道推广名称")
    private String promotionName;

    /**
     * 最高可借款金额
     */
    @Schema(description = "最高可借款金额")
    private BigDecimal highestBorrowableAmount;

    /**
     * 最低可贷款金额
     */
    @Schema(description = "最低可贷款金额")
    private BigDecimal lowestLoanAmount;
    /**
     * 贷款分期(JSON实体-list)
     */
    @Schema(description = "贷款分期(JSON实体-list)")
    private List<LoanPeriod> loanPeriod;

    /**
     * 是否默认协议 1是 2否
     */
    private Integer protocolStatus;


    @Data
    public static class LoanPeriod implements Serializable{

        /**
         * 分期期数 1. 3个月 2. 6个月 3. 9个月 4. 12个月 5. 24个月
         */
        @Schema(description = "分期期数 1. 3个月 2. 6个月 3. 9个月 4. 12个月 5. 24个月")
        private Integer period;
        /**
         * 分期利率
         */
        @Schema(description = "分期利率")
        private BigDecimal periodRate;
        /**
         * 分期利率单位 1.%天 2.%周 3.%月 4.%年
         */
        @Schema(description = "分期利率单位 1.%天 2.%周 3.%月 4.%年")
        private Integer periodUnit;
    }
}
